package com.bbc.core.constants;

public enum ResponseCode {
   MethodArgumentNotValidException(4400, "", 400),
   MethodArgumentTypeMismatchException(4400, "", 400),
   MissingServletRequestPartException(4400, "", 400),
   MissingPathVariableException(4400, "", 400),
   BindException(4400, "", 400),
   MissingServletRequestParameterException(4400, "", 400),
   TypeMismatchException(4400, "", 400),
   ServletRequestBindingException(4400, "", 400),
   HttpMessageNotReadableException(4400, "", 400),
   NoHandlerFoundException(4404, "", 404),
   NoSuchRequestHandlingMethodException(4404, "", 404),
   HttpRequestMethodNotSupportedException(4405, "", 405),
   HttpMediaTypeNotAcceptableException(4406, "", 406),
   HttpMediaTypeNotSupportedException(4415, "", 415),
   ConversionNotSupportedException(4500, "", 500),
   HttpMessageNotWritableException(4500, "", 500),
   AsyncRequestTimeoutException(4503, "", 503);

   private int code;
   private String message;
   private int statusCode;

   private ResponseCode(int code, String message) {
      this.code = code;
      this.message = message;
   }

   public int getCode() {
      return this.code;
   }

   public String getMessage() {
      return this.message;
   }

   public int getStatusCode() {
      return this.statusCode;
   }

   private ResponseCode(int code, String message, int statusCode) {
      this.code = code;
      this.message = message;
      this.statusCode = statusCode;
   }

   // $FF: synthetic method
   private static ResponseCode[] $values() {
      return new ResponseCode[]{MethodArgumentNotValidException, MethodArgumentTypeMismatchException, MissingServletRequestPartException, MissingPathVariableException, BindException, MissingServletRequestParameterException, TypeMismatchException, ServletRequestBindingException, HttpMessageNotReadableException, NoHandlerFoundException, NoSuchRequestHandlingMethodException, HttpRequestMethodNotSupportedException, HttpMediaTypeNotAcceptableException, HttpMediaTypeNotSupportedException, ConversionNotSupportedException, HttpMessageNotWritableException, AsyncRequestTimeoutException};
   }
}
